package com.hc.bo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;

/**
 * 博客
 *
 * @author 梁云亮
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class BlogBO implements Serializable {
    private static final long serialVersionUID = 6815021933732042215L;
    /**
     * 博客分类
     */
    @ApiModelProperty(value = "博客分类")
    Map<Integer, String> categories;
    /**
     * 博客标签
     */
    @ApiModelProperty(value = "博客标签")
    List<String> tags;
    /**
     * 用户编号
     */
    @ApiModelProperty(value = "用户编号")
    private Integer userId;
    /**
     * 用户名称
     */
    @ApiModelProperty(value = "用户名称")
    private String name;
    /**
     * 博客编号
     */
    @ApiModelProperty(value = "博客编号")
    private Integer blogId;
    /**
     * 博客标题
     */
    @ApiModelProperty(value = "博客标题")
    private String title;
    /**
     * 博客内容
     */
    @ApiModelProperty(value = "博客内容")
    private String content;
    /**
     * 二维码
     */
    @ApiModelProperty(value = "二维码")
    private String qrcode;
    /**
     * 关键字，优化搜索
     */
    @ApiModelProperty(value = "关键字，优化搜索")
    private String keywords;
    /**
     * 浏览数
     */
    @ApiModelProperty(value = "浏览数")
    private Integer views;
    /**
     * 点赞数
     */
    @ApiModelProperty(value = "点赞数")
    private Integer agrees;
    /**
     * 来源：1原创、2转载、3翻译
     */
    @ApiModelProperty(value = "来源：1原创、2转载、3翻译")
    private Integer source;
    /**
     * 是否开启赞赏
     */
    @ApiModelProperty(value = "是否开启赞赏")
    private Boolean isAdmire;
    /**
     * 是否开启版权声明
     */
    @ApiModelProperty(value = "是否开启版权声明")
    private Boolean isCopyright;
    /**
     * 是否开启评论
     */
    @ApiModelProperty(value = "是否开启评论")
    private Boolean isComment;
    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDateTime createTime;
    /**
     * 更新时间
     */
    @ApiModelProperty(value = "更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDateTime updateTime;
}
